ЖДУ 2024-2025
    Головна
    Змагання
    Лекції
    Курси
    Дописи
    Лабораторні роботи
    Архів Олімпіад
Функції
Увійти

Функції

Програма мовою С/С++ складається з функцій, одна з яких повина мати ім’я main. Структура кожної функції співпадає зі структурою головної функції.

Тип_результату_функції*  Назва_функції(список параметрів )
{
          Оператори тіла функції;
}

Функції мови С/C++ бувають двох типів, функції що повертає значення та фнкції, яка не повертає значення. Функція, яка повертає значення, має стандатний тип (int, long, float, double…).

Screenshot_1.png

Функція, повертає значення за допомогою команди return <значення>, після чого функція закінчує своє виконання. Якщо функція, яка повертає значення не буде містити команди return компілятор видасть повідомлення про помилку.

Функції, які не повертають значення, мають тип void. Закінчення виконання функції відбувається за допомогою команди return, без параметрів або після виконання останньої стрічки самої функції. Функція типу void може не містити команди return.

Screenshot_2.png

Функції в програмі можна записувати перед головною функцією, після головної, та у іншому файлі.Якщо функція записана перед головною після головної функції то перед головною функцією її необхідно описати.Якщо функція записана в окремому файлі, то необхідно підключити цей файл за допомогою дерективи #include.

Програма знаходження найбільшого спільного дільника для двох натуральних чисел

Screenshot_3.png

Передача параметрів у функцію.

Змінні, які оголошені перед функціями або перед їх оголошенням називаються глобальними.Глобальні змінні можна використовувати в будь-якій функції.Змінні, які оголошені у функції, називається локальними. Вони видимиі тільки у даній функції.

Передача змінних у функцію відбувається через параметри функції.Щоб повернути значення функції через параметри використовують знак адреси пам’яті &.

Screenshot_4.png

Рекурсія

Рекурсія – це процес звернення функції до самого себе.

Приклади рекурсії:

  • зображення журналу в цьому самому журналі;

  • відображення в двох дзеркалах, які висять одне навпроти одного;

  • в телевізорі видно зображення цього телевізора, в яком видно зображення цього телевізора, і т.д.

  • свист мікрофона.

Рекурсія використовується для спрощення запису алгоритма.

Під час написання рекурсивних програм необхідно дотримуватись таких правил:

  • рекурсивна функція повина містити перевірка останнього входження;

  • рекурсивна функція повинна звертатись до самої себе безпосередньо, або через іншу функцію.

Рекурсивні задачі можна розбити на 4 види:

  1. Задачі з рекурсивним формулюванням;

  2. Задачі, які можна звести до рекурсивних;

  3. Задачі з рекурсивним формулюванням;

Приклад.

Обчислити факторіал натурального числа.

n!=1234 ... *n

n!=n*(n-1)!

(n-1)!=(n-1)*(n-2)!

(n-2)!=(n-2)*(n-3)………………….

3!=3*2!

2!=2*1!

1!=1

0!=1 (за визначенням факторіалу)

Screenshot_5.png
#include<iostream>
using namespace std;

long factorial (int n)
{  if (n==0)
	      return 1;
	  else
	      return n*factorial(n-1);
}

int main()
{
  int n;
  long f;
    cin>>n;
  f=factorial(n);
   cout << f;
   return 0;
}
19 lines
247 bytes
Screenshot_6.png

Локальні та глабальні змінні

У цій статті
  • Функції
  • Передача параметрів у функцію.
  • Рекурсія
  • Локальні та глабальні змінні